Skip to main content

Controllo di un Cam Drive con un asse temporale virtuale

Vedi il PLCopenMulti.project progetto di esempio nella directory di installazione di CODESYS sotto ..\CODESYS SoftMotion\Examples.

Questo esempio mostra come implementare una camma periodica su un azionamento lineare. L'esempio mostra anche come utilizzare la funzione punteria.

  1. Inserisci una camma chiamata Example nell'albero dei dispositivi qui sotto Applicazione. Apri la cam nell'editor.

  2. Definire una punteria sul punteria scheda.

    • X: 8.0

    • Passaggio positivo: Invert

    • Passaggio negativo: Invert

  3. Inserisci un'unità virtuale denominata Drive nell'albero dei dispositivi qui sotto Pool di assi generali SoftMotion. Per questo asse, seleziona il tipo di asse Modulo con un valore modulo di 360.

  4. Inserisci un'altra unità virtuale denominata Virtual. Per questo asse, selezionare il Modulo tipo di asse con un valore modulo di 10.

  5. Creare un MOTION_PRG programma in CFC.

    PROGRAM MOTION_PRG
    VAR
            power1, power2: MC_Power;
            TableSelect: MC_CamTableSelect;
            CamIn: MC_CamIn;
            Tappet: SMC_GetTappetValue;
            MoveVirtual: MC_MoveVelocity;
    END_VAR
  6. Inserisci un elemento box e assegna la variabile power1 ad esso. L'elemento box viene utilizzato per l'accensione del Drive.

    Configurare gli ingressi come segue:

    • Asse: Drive

    • Abilitare: TRUE

    • bRegulatorOn: TRUE

    • bDriveStart TRUE

  7. Inserisci un elemento box e assegna la variabile power2 ad esso. L'elemento box viene utilizzato per l'accensione del Virtual unità.

    Configurare gli ingressi come segue:

    • Asse: Virtual

    • Abilitare: TRUE

    • bRegulatorOn: TRUE

    • bDriveStart TRUE

  8. Inserisci un elemento box e assegna la variabile MoveVirtual ad esso. L'elemento box viene utilizzato per spostare il master virtuale.

    Configurare gli ingressi come segue:

    • Asse: Virtual

    • Eseguire: power2.Status

    • Velocità: 2

    • Accelerazione 10

    • Decelerazione 10

    • Direzione positive

  9. Inserisci un elemento box e assegna la variabile TableSelect ad esso. L'elemento box viene utilizzato per selezionare una camma.

    Configurare gli ingressi come segue:

    • Maestro: Virtual

    • Schiavo: Drive

    • CamTable: Example

    • Eseguire TRUE

    • Periodico TRUE

    • MasterAbsolute TRUE

    • schiavoassoluto TRUE

  10. Inserisci un elemento box e assegna la variabile CamIn ad esso. L'elemento box implementa la piastra camma selezionata.

    Configurare gli ingressi come segue:

    • Maestro: Virtual

    • Schiavo: Drive

    • Eseguire power1.Status

    • MasterOffset: 0

    • SlaveOffset: 0

    • MasterScaling: 1

    • Ridimensionamento degli schiavi: 1

    • StartModalità: absolute

    • CamTableID: TableSelect.CamTableID

    • VelocityDiff: 1

    • Accelerazione: 1

    • Decelerazione: 1

    • Isteresi della punteria: 1

  11. Inserisci un elemento box e assegna la variabile Tappet ad esso. L'elemento box controlla l'impostazione dell'interruttore a camme.

    Configurare gli ingressi come segue:

    • punterie: CamIn.Tappets

    • iID: 1

    • bInitValue FALSE

    • bSetInitValueAtReset: FALSE

    La punteria è definita come punteria invertente. Per questo motivo il suo valore viene modificato ogni 10 secondi.

  12. Il progetto di esempio fornisce una visualizzazione per il controllo dei singoli blocchi funzionali e della posizione degli assi.

  13. Aggiungi la chiamata del MOTION_PRG programma per il compito Compito principale.

  14. Scarica il progetto sul controller e avvialo.